home *** CD-ROM | disk | FTP | other *** search
- Path: grafix.xs4all.nl!john.hendrikx
- Date: Fri, 12 Jan 96 18:28:15 GMT+1
- Newsgroups: comp.sys.amiga.programmer
- Distribution: world
- Subject: Re: Amiga programmers in deep shit...
- MIME-Version: 1.0
- Content-Type: text/plain; charset=iso-8859-1
- Content-Transfer-Encoding: 8bit
- From: john.hendrikx@grafix.xs4all.nl (John Hendrikx)
- Message-ID: <john.hendrikx.4606@grafix.xs4all.nl>
- Organization: Grafix Attack BBS Holland
-
- In a message of 10 Jan 96 Stephan Schaem wrote to All:
-
- >> SoftSCSI_ATEA.device 2.8%
- >> DH1 2.6%
- >> DoLotsOfSmallReads 1.5%
- >> DisplaySpy 1.2% (the program displaying a CPU-time graph)
- >> input.device 1.1%
- >> TopCPU 0.5% (the program which displayed these values)
- >> BOOT:C/SMouse 0.3% (my wb-titlebar clock program)
-
- >> Only the first 3 are the ones involved with reading the data from the HD
- >> (the SCSI-device, the filesystem and the program performing the reads).
-
- >> The DoLotsOfSmallReads program consists of nothing more than this:
-
- >> do {
- >> WaitTOF();
- >> Read(fh,&buffer,512);
- >> } while(result==512)
-
- SS> Get the system time in tick before the read() and after:
-
- SS> Because its possible that the ~14% happen once every 60 frame. 14% of
- SS> 60*262 = 2200 scanline...
-
- Well, maybe it helps if I told you that my HD led was flashing at about 25 Hz
- (maybe more, hard to tell :-)))
-
- SS> From your test result I see it take 14% of the system time not 14% of
- SS> a frame wich is very diferent for what you want to do.
-
- Yes, but this isn't what was happening, the HD led definitely flashed really
- rapidly, it reminded me of running interlaced (so that's where I got that 25 Hz
- figure from).
-
- >> As you can see above it ain't really necessary, if you can spare a bit of
- >> CPU time. Even with 1K or 2K block reads every frame you still beat
- >> floppies by a long way, and without any noticeable slow-downs.
-
- SS> It will work if you are garantied 80% of the frame for 'rendering'.
-
- It will also work if you do the disk reading at a lower pri, so it will take
- whatever time is left to do the reading. You will have to use a seperate task
- anyway to do good asynchronous reading IMO (or use packets, but I wouldn't
- recommend going that low-level).
-
- Grtz John
-
- -----------------------------------------------------------------------
- John.Hendrikx@grafix.xs4all.nl TextDemo/FastView/Etc... development
- -----------------------------------------------------------------------
- -- Via Xenolink 1.981, XenolinkUUCP 1.1
-